// 用户相关vuex模块
export default {
    // 为该模块开启命名空间
    namespaced: true,
    state: () => ({
        // 用户收货地址
        address: JSON.parse(uni.getStorageSync('address') || '{}'),
        // 用户token
        token: uni.getStorageSync('token') || '',
        // 用户的信息 
        userInfo: JSON.parse(uni.getStorageSync('userinfo') || '{}'),
        // 登录后重定向页面的信息
        redirectInfo: null
    }),
    mutations: {
        // 保存收货地址的方法
        updateAddress(state, address) {

            state.address = address
            this.commit('m_user/saveAddressToStorage')
        },
        // 保存地址到本地
        saveAddressToStorage(state) {
            uni.setStorageSync('address', JSON.stringify(state.address))
        },
        // 把传过来的用户信息保存到state和本地
        updateUserInfo(state, userInfo) {
            state.userInfo = userInfo
            uni.setStorageSync('userinfo', JSON.stringify(state.userInfo))
        },
        // 保存token到vuex和本地
        updateToken(state, token) {
            state.token = token
            uni.setStorageSync('token', state.token)
        },
        // 更新登录后需要重定向的页面信息
        updateRedirectInfo(state, info) {
            state.redirectInfo = info
            // console.log(state.redirectInfo);
        }

    },
    getters: {
        // 根据收货地址对象计算出收货地址字符串 没有收货对象就没有这个字符串
        addstr(state) {
            if (!state.address.userName) return ''
            return state.address.provinceName + state.address.cityName + state.address.countyName + state.address
                .detailInfo
        }
    }
}
